const { Controller } = require("egg");

/**
 * @Controller 角色管理
 */
class RoleController extends Controller {
    /**
     * @jwt
     * @summary 添加角色
     * @description 添加一个后端管理系统角色
     * @router post /roles
     * @request body CreateRoleRequest *body
     * @response 201 BaseResponse 创建成功
     */
    async create() {
        // 校验参数
        this.ctx.validate(this.ctx.rule.CreateRoleRequest);
        // 添加角色
        await this.service.role.add(this.ctx.request.body);
        // 返回成功响应
        this.ctx.helper.send(201);
    }

    /**
     * @jwt
     * @summary 角色列表
     * @description 获取所有角色
     * @router get /roles
     * @response 200 BaseResponse 创建成功
     */
    async index() {
        // 读取角色列表
        const res = await this.service.role.readList();
        // 返回成功响应
        this.ctx.helper.send(200, res);
    }
}

module.exports = RoleController;
